/*****通用函数*********/
//日期格式化 扩展Date对象方法
Date.prototype.format = function(fmt){  
	if(this.getTime()==0){
    	return "";
    }
    var o = {
    	    "M+": this.getMonth() + 1, //月份
    	    "d+": this.getDate(), //日
    	    "h+": this.getHours(), //小时
    	    "m+": this.getMinutes(), //分
    	    "s+": this.getSeconds(), //秒
    	    "q+": Math.floor((this.getMonth() + 3) / 3), //季度
    	    "S": this.getMilliseconds() //毫秒
    	  };
    	  if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    	  for (var k in o)
    	  if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
	return fmt;
} 
//为数组创建删除指定元素方法
Array.prototype.indexOf = function(val) {
	for (var i = 0; i < this.length; i++) {
		if (this[i] == val) return i;
	}
	return -1;
};
Array.prototype.remove = function(val) {
	var index = this.indexOf(val);
	if (index > -1) {
		this.splice(index, 1);
	}
};
//打印js
function printPage(id){
	var content=$("#"+id).html();
	$("body").html(content);
	window.print(); 
}
//验证车牌号
function isVehicleNumber(vehicleNumber) {
    var result = false;
    if (vehicleNumber.length == 7){
      var express = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;
      result = express.test(vehicleNumber);
    }
    return result;
}
//验证车牌号是否包含小写字母
function regString(vehicleNumber) {
    var result = false;
    if (vehicleNumber.length == 7){
      var express = /[a-z]+/;
      result = express.test(vehicleNumber);
    }
    return result;
}

/**
 * @author 
 * @return
 * @description 
 * @Date: 2016-9-29
 */

function checkMobile(){
	//手机号码验证
	$.validator.addMethod("isMobile", function(value, element) {
		var length = value.length;
		var mobile = /^1[34578]\d{9}$/;
		return this.optional(element) || (length == 11 && mobile.test(value));
	}, "请正确填写您的手机号码");
}

function checkPhone(){
	// 联系电话(手机/电话皆可)验证
	$.validator.addMethod("isPhone", function(value, element) {
		var length = value.length;
		var mobile = /^1[34578]\d{9}$/;
		var tel = /^((0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
		result=this.optional(element) || (tel.test(value) || mobile.test(value));
		return result;
	}, "请正确填写您的联系电话");
}

function checkTel(){
	// 电话号码验证
	jQuery.validator.addMethod("isTel", function(value, element) {
	var tel = /^((0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;    //匹配国内电话号码(0511-4405222 或 021-87888822)
	return this.optional(element) || (tel.test(value));
	}, "电话填写格式为:0511-4405222 或 021-87888822");
	
}
//历史修改字段列表
function showText(value, row, index){
	if(value==null){
		return "--";
	}else{
		return "<span title='"+value+"'>"+value+"</span>";
	}
} 

//js格式化小数  保留两位小数，没有小数自动补0
function returnFloat(value){
 if(value==undefined || value == null ){
	 return value; 
 }else{
	 var value=Math.round(parseFloat(value)*100)/100;
	 var xsd=value.toString().split(".");
	 if(xsd.length==1){
		 value=value.toString()+".00";
		 return value;
	 }
	 if(xsd.length>1){
		 if(xsd[1].length<2){
			 value=value.toString()+"0";
		 }
		 return value;
	 }
 }
}

/********************上传插件sta**************************/
/**
 * webupload 上传插件   
 * filePicker	上传附件容器id
 * thumbnail	缩略图容器id
 * formData		表单数据  json对象	{name1:'123',age:10}
 * url上传服务器地址		
 * uploadSuccess	上传成功回调
 * uploadError		上传失败回调
 * uploadAccept	上传完成回调
 * 
 * html
 * <!--上传附件部分-->
	<div>
	    <span id="list1"></span>
	    <div id="filePicker1">选择图片</div>
	</div>
 * 
 */
function webupload(filePicker,thumbnail,formData,url,uploadSuccess,uploadError,uploadAccept,accept){
	//控制上传文件类型，如果没有赋值则使用默认值
	if(accept===undefined){
		accept={
		        title: 'Images',
		        extensions: 'gif,jpg,jpeg,bmp,png,pdf',
		        mimeTypes: 'image/gif,image/jpg,image/jpeg,image/bmp,image/png,application/pdf'
		    };
	}
	var $list=$(thumbnail);
	// 初始化Web Uploader
	var uploader = WebUploader.create({
	
	    // 选完文件后，是否自动上传。
	    auto: true,
	
	    // swf文件路径
	    swf: '<%=basePath%>js/webuploader-0.1.5/Uploader.swf',
	
	    // 文件接收服务端。
	    server: url,
	    //图片上传时禁止压缩
	    compress:false,
	
	    // 选择文件的按钮。可选。
	    // 内部根据当前运行是创建，可能是input元素，也可能是flash.
	    pick: filePicker,
	    formData: formData,
	    thumb: {
	    	quality:10000000,
	    	// 是否允许放大，如果想要生成小图的时候不失真，此选项应该设置为false.
	        allowMagnify: true,
	        // 是否允许裁剪。
	        crop: true,
	    },
	    // 控制可上传文件类型,使用全局变量控制 20180111 修改为不限制文件上传格式
	    //accept: accept
	});
	
	
	// 当有文件添加进来的时候
	uploader.on( 'fileQueued', function( file ) {
	    // 创建缩略图
	    // 如果为非图片文件，可以不用调用此方法。
	    // thumbnailWidth x thumbnailHeight 为 生成的缩略图大小,该方法会根据这个大小将图片压缩,但是不影响上传的图片大小
	    uploader.makeThumb( file, function( error, src ) {
	    	//创建缩略图预览,和删除标签：会触发removeQueueUpload方法，外部实现
	    	var $li = $(
	    			'<div id="' + file.id + '" class="file-item thumbnail" style="display:inline-block;margin-bottom:0;">' +
	    			'<img title="'+file.fileName+'" >' +
	    			//图片名称过长将名称隐藏显示 "...."
	    			'<div class="info" style="white-space: nowrap;text-overflow: ellipsis;width: 60px;overflow: hidden;" >' + file.name + '</div>' +
	    			'<span class="uploadcancel" ></span>'+
	    			'</div>'
	    	);
	    	$img = $li.find('img');
	    	//为删除按钮增加事件
	    	$li.find("span.uploadcancel").click(function(){
	    		uploader.removeFile( file.id );
	    	});
	    	
	    	// $list为容器jQuery实例
	    	$list.append( $li );
	    	
	    	//如果文件不是图片 就显示超链接 使用浏览器直接打开
	        if ( error ) {
	        	$li.find('div.info').remove();
	            $img.replaceWith('<div style="white-space: nowrap;text-overflow: ellipsis;width: 60px;overflow: hidden;" title="'+file.name+'" ><a>'+file.name+'</a></div>');
	            return;
	        }
	        $img.attr( 'src', src );
	    }, 60, 60 );
	});
	
	//用来记录加载层索引
	var weulyi;
	//开始上传流时触发
	uploader.on("startUpload",function(){
		//开始上传出现加载层
		weulyi=layer.load(2);
	});
	//文件上传结束时触发 
	uploader.on("uploadFinished",function(){
		//上传结束关闭加载层
		layer.close(weulyi);
	});
	
	//上传成功回调
	uploader.on( 'uploadSuccess', uploadSuccess);
	//上传失败回调
	uploader.on( 'uploadError', uploadError);
	//上传完成回调，不管成功失败
	uploader.on( 'uploadAccept', uploadAccept);
	return uploader;
}

/*
 * tagid 按钮id	smallimg 缩略图id articleId 物件id 
 * accept 上传文件类型
 * inputId 隐藏文本域的id
 * 初始化 上传插件
 * 高度封装上面的webupload方法
*/
function initWebUpload(tagId,smallImg,articleId,inputId,success,error,accept){
	//上传时候带着物件id过去
	var data={ArticleId:articleId};
	var $wu=webupload("#"+tagId,"#"+smallImg,data,"project/accessoryCa/addAccessoryCa",success,error,function(obj,response){
		var acal = $("#"+inputId);
		var val = acal.val();
		var t = "{\"extendId\":\""+obj.file.id+"\",\"accessoryCAId\":\"" + response.accessoryCAId + "\",\"articleId\":\"" + response.articleId + "\"}";
		if (val == "") {
			acal.val(t);
		} else {
			acal.val(val + "," + t);
		}
		//上传完成后为缩略图添加对应的服务器路径,以便提供图片放大
		$("#"+obj.file.id+" img").attr("imgUrl",response.imgUrl);
		$("#"+obj.file.id+" a").attr("href",response.imgUrl).attr("target","_blank");
		return true;
	},accept);
	//注册移除队列事件
	delFile($wu,inputId);
}
//inputId附件隐藏域id在删除图片时将隐藏域记录的对应信息删掉
function delFile(upload,inputID){
	//当文件从队列中移除时执行
  upload.onFileDequeued=function(file){
  	//删除缩略图中文件
  	$("#"+file.id).remove();
  	//删除上传成功后隐藏域中的文件
		planStageRemoveHid(file.id,inputID);
  };
}
	//删除隐藏域中的指定扩展id的附件,inputId 隐藏域id
function planStageRemoveHid(fileId,inputId){
	//获取隐藏域的值
	var $t=$("#"+inputId);
	//删除隐藏域中对应着被删除图片的值,将隐藏域中的值转成json数组对象，再讲对应位置的json对象删除，最后在转换回隐藏域中规定的值
	var ja=JSON.parse("["+$t.val()+"]");
	$.each(ja,function(i,v){
		if(v.extendId==fileId){
			ja.splice(i,1);
			if(ja.length>0){
				$t.val(JSON.stringify(ja).replace("[", "").replace("]", ""));
			}else{
				$t.val("");
			}
			return false;
		}
	});
}
//查询图片并加载到指定容器中
//获取附件,entityId 实体id
//articleId 物件id,返回图片存放的容器
/*
 * 查询图片并加载到指定容器中
 * options:{
 * 	获取附件,entityId 实体id
 * 	articleId 物件id
 * 	dom 返回图片存放的容器,jquery选择器
 * 	removeEvent 删除按钮事件  传入附件id 如果返回false 缩略图将不会被删除
 * 	success 加载完成的回调,会传入服务器返回的data
 * 	everySuccess 每次放入一个图片后就会调用的函数,会传入该图片id
 * }
 */
function getFileList(entityId,articleId,dom,removeEvent,success,everySuccess){
	var list = $(dom);
	$.getJSON("project/accessoryCa/getAccessoryCa",{
		entityId:entityId,
		articleId:articleId
	},function(data){
		//图片正则
		var reg=/^(gif|jpg|jpeg|bmp|png)$/;
		$.each(data,function(i,v){
			var uri=v.filePath;
			uri=uri.substring(uri.indexOf("upload\\imgs"));
			var ext=uri.substring(uri.lastIndexOf(".")+1);
			var $li=null;
			if(reg.test(ext)){//图片类型
				$li = $(
						'<div id="'+v.id+'" class="file-item thumbnail" style="display:inline-block;margin-bottom:0;">' +
						'<img imgurl="'+uri+'" src="'+uri+'" style="width:60px;height:60px;" >' +
						//图片名称过长将名称隐藏显示 "...."
						'<div class="info" style="white-space: nowrap;text-overflow: ellipsis;width: 60px;overflow: hidden;" >' + v.fileName + '</div>' +
						'<span class=\"uploadcancel\" ></span>'+
						'</div>'
				);
			}else{//其它类型
				$li = $(
						'<div id="'+v.id+'" class="file-item thumbnail" style="display:inline-block;margin-bottom:0;">' +
						//图片名称过长将名称隐藏显示 "...."
						'<div class="info" style="white-space: nowrap;text-overflow: ellipsis;width: 60px;overflow: hidden;" title="'+v.fileName+'" >' +
						'<a href="'+uri+'" target="_blank" style="width:60px;height:60px;" >' + v.fileName + '</a></div>'+
						'<span class=\"uploadcancel\" ></span>'+
						'</div>'
				);
			}
			list.append($li);
			//给删除按钮绑定删除事件，此删除事件不同于上传时的删除事件
			if(removeEvent!=null){
				list.find("#"+v.id+" span.uploadcancel").click(function(){
					removeEvent(v.id,$(this));
				});
			}
			//每放入一个图片后就会调用的函数
			if(everySuccess!=null){
				everySuccess(v.id);
			}
		});
		//方法全部执行完成后的回调函数
		if(success!=null){
			success(data);
		}
		
	});
}

/**
 * 序列化操作时的图片数据获取
 * @param caList  编辑时的新增的图片数据
 * @param dom 
 * @param success
 * @param everySuccess
 * @returns
 */
function getFileListByAcId(acIds,dom,success,everySuccess){
	var list = $(dom);
	$.getJSON("project/accessoryCa/getAccessoryCaByIds",{
		acIds:acIds
	},function(data){
		//图片正则
		var reg=/^(gif|jpg|jpeg|bmp|png)$/;
		$.each(data,function(i,v){
			var uri=v.filePath;
			uri=uri.substring(uri.indexOf("upload\\imgs"));
			var ext=uri.substring(uri.lastIndexOf(".")+1);
			var $li=null;
			if(reg.test(ext)){//图片类型
				$li = $(
						'<div id="'+v.id+'" class="file-item thumbnail" style="display:inline-block;margin-bottom:0;">' +
						'<img imgurl="'+uri+'" src="'+uri+'" style="width:60px;height:60px;" >' +
						//图片名称过长将名称隐藏显示 "...."
						'<div class="info" style="white-space: nowrap;text-overflow: ellipsis;width: 60px;overflow: hidden;" >' + v.fileName + '</div>' +
						'<span class=\"uploadcancel\" ></span>'+
						'</div>'
				);
			}else{//其它类型
				$li = $(
						'<div id="'+v.id+'" class="file-item thumbnail" style="display:inline-block;margin-bottom:0;">' +
						//图片名称过长将名称隐藏显示 "...."
						'<div class="info" style="white-space: nowrap;text-overflow: ellipsis;width: 60px;overflow: hidden;" title="'+v.fileName+'" >' +
						'<a href="'+uri+'" target="_blank" style="width:60px;height:60px;" >' + v.fileName + '</a></div>'+
						'<span class=\"uploadcancel\" ></span>'+
						'</div>'
				);
				
			}
			list.append($li);
			//每放入一个图片后就会调用的函数
			if(everySuccess!=null){
				everySuccess(v.id);
			}
		});
		//方法全部执行完成后的回调函数
		if(success!=null){
			success(data);
		}
		
	});
}

/**
 * 审批页面  查询出状态 0 正式数据 1 要删除的数据  2 新增的数据
 * @param entityId
 * @param articleId
 * @param dom
 * @param removeEvent
 * @param success
 * @param everySuccess
 * state 1 编辑页面  2 审批页面
 * @returns
 */
function getFileListByFlag(entityId,articleId,state,dom,removeEvent,success,everySuccess){
	var list = $(dom);
	$.getJSON("project/accessoryCa/getAccessoryCa",{
		entityId:entityId,
		articleId:articleId,
		//flag : flag,
		state : state
	},function(data){
		//图片正则
		var reg=/^(gif|jpg|jpeg|bmp|png)$/;
		$.each(data,function(i,v){
			var uri=v.filePath;
			uri=uri.substring(uri.indexOf("upload\\imgs"));
			var ext=uri.substring(uri.lastIndexOf(".")+1);
			var $li=null;
			if(reg.test(ext)){//图片类型
				$li = $(
						'<div id="'+v.id+'" class="file-item thumbnail" style="display:inline-block;margin-bottom:0;">' +
						'<img imgurl="'+uri+'" src="'+uri+'" style="width:60px;height:60px;" >' +
						//图片名称过长将名称隐藏显示 "...."
						'<div class="info" style="white-space: nowrap;text-overflow: ellipsis;width: 60px;overflow: hidden;" >' + v.fileName + '</div>' +
						'<span class=\"uploadcancel\" style=\"display:none\" ></span>'+
						'</div>'
				);
			}else{//其它类型
				$li = $(
						'<div id="'+v.id+'" class="file-item thumbnail" style="display:inline-block;margin-bottom:0;">' +
						//图片名称过长将名称隐藏显示 "...."
						'<div class="info" style="white-space: nowrap;text-overflow: ellipsis;width: 60px;overflow: hidden;" title="'+v.fileName+'" >' +
						'<a href="'+uri+'" target="_blank" style="width:60px;height:60px;" >' + v.fileName + '</a></div>'+
						'<span class=\"uploadcancel\" style=\"display:none\"></span>'+
						'</div>'
				);
			}
			list.append($li);
			//给删除按钮绑定删除事件，此删除事件不同于上传时的删除事件
			if(removeEvent!=null){
				list.find("#"+v.id+" span.uploadcancel").click(function(){
					removeEvent(v.id,$(this));
				});
			}
			//每放入一个图片后就会调用的函数
			if(everySuccess!=null){
				everySuccess(v.id);
			}
		});
		//方法全部执行完成后的回调函数
		if(success!=null){
			success(data);
		}
		
	});
}

function getHistoryFileList(entityId,articleId,dom,success,everySuccess){
	var list = $(dom);
	$.getJSON("project/accessoryCa/getHistoryAccessoryCa",{
		entityId:entityId,
		articleId:articleId
	},function(data){
		$.each(data,function(i,v){
			var uri=v.filePath;
			uri=uri.substring(uri.indexOf("upload\\imgs"));
			var $li = $(
            '<div id="'+v.id+'" class="file-item thumbnail" style="display:inline-block;margin-bottom:0;">' +
                '<img imgurl="'+uri+'" src="'+uri+'" style="width:60px;height:60px;" >' +
                //图片名称过长将名称隐藏显示 "...."
                '<div class="info" style="white-space: nowrap;text-overflow: ellipsis;width: 60px;overflow: hidden;" >' + v.fileName + '</div>' +
                '<span class=\"uploadcancel\" ></span>'+
            '</div>'
            );
			list.append($li);
			//每放入一个图片后就会调用的函数
			if(everySuccess!=null){
				everySuccess(v.id);
			}
		});
		//方法全部执行完成后的回调函数
		if(success!=null){
			success(data);
		}
		
	});
}
/*
 * 删除指定id下的附件
 */
function removeAcc(id){
	/*
	var className=_this.attr("class");
	if(className.indexOf("active")<0){
		return false;
	}
	var i = layer.confirm('确定删除该图片,确认后文件将永久删除？',{
		title:'警告',
		icon:0,
		shade:[0.1, '#fff']
	},function(){
		  $.getJSON("project/accessoryCa/delAccessoryCa",{
			  id:id
		  },function(data){
			  if(data.success){
				  layer.msg("删除成功!",{
					  time: 1000
				  },function(){
					  $("#"+id).remove();
				  });
			  }
		  });
		  layer.close(i);
		});*/
	
}

/********************************上传插件end*******************************************/


/*****************idTab sta***********************/

/*! idTabs v3.1 ~ Sean Catchpole - Copyright 2016 MIT/GPL */
(function($){
// Helper functions
var idTabs, //shortcut
undefined,  //speed up
href = function(e){ return $(e).attr("href"); },
type = function(o){ //reliable
  return o===null && "Null"
      || o===undefined && "Undefined"
      || ({}).toString.call(o).slice(8,-1);
};

$.fn.idTabs = function(){
  var s = idTabs.args.apply(this,arguments),
  action = s.update&&"update" || s.remove&&"remove" || "bind";
  s.area = this; //save context
  idTabs[action](s);
  return this; //chainable
};

idTabs = $.idTabs = function(tabarea,options,data){
  // Settings
  var e, tabs, items, test=$(), meta = $.metadata?$(tabarea).metadata():{}, //metadata
  s = {tab:idTabs.tab,item:idTabs.item}; //helpers
  s = $.extend(s,idTabs.settings,meta,options||{}); //settings
  s.tabarea = $(tabarea); //save context
  s.data = data||"idTabs"+ +new Date; //save expando

  // Play nice
  $.each({selected:'.',event:'!',start:'#'},function(n,c){
    if(type(s[n])=="String" && s[n].indexOf(c)==0)
      s[n] = s[n].substr(1); }); //removes type characters
  if(s.start===null) s.start=-1; //no tab selected

  // Find tabs
  items = []; //save elements
  s.tabs = tabs = $("a[href^=\\#]",tabarea); //save tabs
  tabs.each(function(){ //add items
    test = s.item(href(this));
    if(test.length) items=items.concat(test.get());
  });
  s.items = $(items).hide(); //hide items

  // Save Settings
  e="idTabs."+s.event;
  data=s.tabarea.data("idTabs")||{};
  data[e]=s;
  s.tabarea.data("idTabs",data);

  // Bind idTabs
  tabs.trigger(e).data(s.data,s)
      .bind(e,{s:s},function(){ //wrapper function due to jQuery bug
        return idTabs.unbind.apply(this,arguments); })
      .bind(s.event,{s:s},idTabs.find);

  // Select default tab
     type(s.start) == "Number" && (s.start<0 || (test=tabs.eq(s.start)).length)
  || type(s.start) == "String" && (test=tabs.filter('a[href=#"'+s.start+'"]')).length
  || (test=tabs.filter('.'+s.selected).removeClass(s.selected)).length
  || (s.start===undefined && (test=tabs.eq(0)).length);
  if(test.length) test.trigger(s.event);

  return s; //return current settings (be creative)
};

// Parse arguments into settings
idTabs.args = function(){
  var a,i=0,s={},args=arguments,
  // Handle string flags .!:
  str = function(_,a){
    if(a.indexOf('.')==0) s.selected = a;
    else if(a.indexOf('!')==0)
      if(/^!(true|false)$/i.test(a)) s.toggle = /^!true$/i.test(a);
      else s.event = a;
    else if(a.indexOf(':')==0) {
      a=a.substr(1).toLowerCase();
      if(a.indexOf('!')==0) s[a.substr(1)]=false;
      else s[a]=true;
    } else if(a) s.start = a;
  };
  // Loop through arguments matching options
  while(i<args.length) {
    a=args[i++];
    switch(type(a)){
      case "Object"   : $.extend(s,a); break;
      case "Boolean"  : s.change = a;  break;
      case "Number"   : s.start = a;   break;
      case "Function" : s.click = a;   break;
      case "Null"     : s.start = a;   break;
      case "String"   : $.each(a.split(/\s+/g),str);
      default: break;
    }
  }
  return s; //settings object
};

// Bind idTabs
idTabs.bind = function(s){
  if(!s) return;
  var data = "idTabs"+ +new Date; //instance expando
  if(s.grouped) $.idTabs(s.area,s,data);
  else s.area.each(function(){ $.idTabs(this,s,data); });
};

// Rebind idTabs
idTabs.update = function(s){
  if(!s) return;
  s.update=false;
  var self,data,n,e = s.event;
  e = (e+"").indexOf('!')==0 && e.substr(1) || e;
  e = e?"idTabs."+e:"";
  return s.area.each(function(){
    self = $(this);
    data = self.data("idTabs");
    if(!data) return;
    if(e) {
      n=$.extend({},data[e],s);
      idTabs.remove(data[e])
      idTabs(n.tabarea,n,n.data);
    } else for(e in data) {
      if(!Object.hasOwnProperty.call(data, e)) continue;
      n=$.extend({},data[e],s);
      idTabs.remove(data[e]);
      idTabs(n.tabarea,n,n.data);
    }
  });
};

// Unbind idTabs
idTabs.remove = function(s){
  if(!s) return;
  var data,tabs,e = s.event;
  e = (e+"").indexOf('!')==0 && e.substr(1) || e;
  e = "idTabs"+(e?"."+e:"");
  return s.area.each(function(){
    data=$(this).data("idTabs");
    delete data["idTabs."+s.event];
    $(this).data("idTabs",data);
    tabs = s.tabs || $("a[href^=\\#]",this); //save tabs
    if(!tabs.length && $(this).is("a[href^=\\#]")) tabs = $(this);
    tabs.trigger(e);
  });
};

// Find tabs
idTabs.find = function(e){
  // Save self since clicked tab may not be the first tab in the tabarea
  var self=this, ret=false, s=e.data.s;
  // Find first tab within each tabset
  $('a[href="'+href(this)+'"]:first',s.area).each(function(){
    var t = $(this).data(s.data); //tab's settings
    if(t) ret=idTabs.showtab.call(t.tabarea==s.tabarea?self:this,t,e)||ret;
  });
  return ret;
};

// Show tab
idTabs.showtab = function(s,e){
  if(!s || !s.toggle && $(this).is('.'+s.selected))
    return s&&s.change; //return if already selected
  var id = href(this); //find id
  if(s.click && s.click.call(this,id,s,e)==false) return s.change; //call custom func
  if(s.toggle && $(this).is('.'+s.selected)) id=null; //hide items
  return idTabs.show.call(this,id,s,e); //call default func
};

// Show item
idTabs.show = function(id,s){
  s.tabs.removeClass(s.selected); //clear tabs
  s.tab(id).addClass(s.selected); //select tab(s)
  s.items.hide(); //hide all items
  s.item(id).show(); //show item(s)
  return s.change; //option for changing url
};

// Unbind idTabs
idTabs.unbind = function(e){
  var s = e.data.s;
  $(this).removeData(s.data)
  .unbind("idTabs."+s.event);
  return false;
};

// Extend idTabs
idTabs.extend = function(){
  var args = arguments;
  return function(){
    [].push.apply(args,arguments);
    this.idTabs.apply(this,args);
  };
};

// Matching tabs
idTabs.tab = function(id){
  if(!id) return $([]);
  return $('a[href="'+id+'"]',this.tabarea);
};

// Matching items
idTabs.item = function(id){
  if(!id) return $([]);
  var item = $(id);
  return item.length?item:$('.'+id.substr(1));
};

// Defaults
idTabs.settings = {
  start:undefined,
  change:false,
  click:null,
  selected:".selected",
  event:"!click",
  toggle:false,
  grouped:false
};

// Version
idTabs.version = "3.0";

// Auto-run
$(function(){ $(".idTabs").idTabs(); });

})(jQuery);
/************************* idTabs ~End*************************/

/*------------------------------new code------------------------------*/

/**
 * ajax删除请求
 */
function AjaxDeleleAction(url,id){
	var msg = "";
    jQuery.ajax({
        type: "post",
        async: false,          
        url: url,
        contentType: "application/x-www-form-urlencoded",
        dataType: "json",
        cache: false,
        data :{id:id},
        success: function (data) {
            //jsonStr = window["eval"]("(" + data.Status + ")");
        	msg = data.msg;
        },
        error: function (err) {}
    });
    return msg;
}

/** 
    date 为long类型
    pattern 为格式化参数 
 */
function getFormatDate(date, pattern) {
	if (date == undefined) {
	    date = new Date();
	}
	if (pattern == undefined) {
	    pattern = "yyyy-MM-dd hh:mm:ss";
	}
	return date.format(pattern);
}

//关闭层iframe
function closeLayer(){
	var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
	parent.layer.close(index);
}

/**
 * 关闭层iframe,并提示消息
 * @param msg: 提示消息
 * @return
 */
function closeLayerAndMsg(msg){
	var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
	parent.layer.msg(msg);
	parent.layer.close(index);
}

/*-----------------------------end new code-------------------------------*/
/**
 * 获取编辑提交的临时附件
 * 附件ids
 */
function getFileTempList(caIds,dom,removeEvent,success,everySuccess){
	var list = $(dom);
	$.getJSON("project/accessoryCa/getAccessoryCaByIds",{
		acIds:caIds
	},function(data){
		//图片正则
		var reg=/^(gif|jpg|jpeg|bmp|png)$/;
		$.each(data,function(i,v){
			var uri=v.filePath;
			uri=uri.substring(uri.indexOf("upload\\imgs"));
			var ext=uri.substring(uri.lastIndexOf(".")+1);
			var $li=null;
			if(reg.test(ext)){//图片类型
				$li = $(
						'<div id="'+v.id+'" class="file-item thumbnail" style="display:inline-block;margin-bottom:0;">' +
						'<img imgurl="'+uri+'" src="'+uri+'" style="width:60px;height:60px;" >' +
						//图片名称过长将名称隐藏显示 "...."
						'<div class="info" style="white-space: nowrap;text-overflow: ellipsis;width: 60px;overflow: hidden;" >' + v.fileName + '</div>' +
						'<span class=\"uploadcancel\" style=\"display:none;\"></span>'+
						'</div>'
				);
			}else{//其它类型
				$li = $(
						'<div id="'+v.id+'" class="file-item thumbnail" style="display:inline-block;margin-bottom:0;">' +
						//图片名称过长将名称隐藏显示 "...."
						'<div class="info" style="white-space: nowrap;text-overflow: ellipsis;width: 60px;overflow: hidden;" title="'+v.fileName+'" >' +
						'<a href="'+uri+'" target="_blank" style="width:60px;height:60px;" >' + v.fileName + '</a></div>'+
						'<span class=\"uploadcancel\" style=\"display:none;\"></span>'+
						'</div>'
				);
			}
			list.append($li);
			//给删除按钮绑定删除事件，此删除事件不同于上传时的删除事件
			if(removeEvent!=null){
				list.find("#"+v.id+" span.uploadcancel").click(function(){
					removeEvent(v.id,$(this));
				});
			}
			//每放入一个图片后就会调用的函数
			if(everySuccess!=null){
				everySuccess(v.id);
			}
		});
		//方法全部执行完成后的回调函数
		if(success!=null){
			success(data);
		}
		
	});
}


//审批提交表单
//提交审批
function disposeSave(opt,url,formData) {
	var i = layer.load(2);
	$.ajax({
		type : "post",
		async : false,
		url : url,
		dataType : "json",
		data : formData,
		success : function(responseText) {
			layer.close(layer.index);
			if (responseText.success) {
				layer.alert("审批成功！", {
					offset:'20%',
					shade:0
				}, function() {
					parent.location.reload();
					parent.parent.getPendingCount();
					parent.parent.getPendingPassCount();
					parent.parent.getPendingBackCount();
				});
			} else {
				alert(responseText.msg, {icon: 7});
  				layer.closeAll();
			}
		}
	});
}

